// ===============================================
// json_string_to_int 强制json 返回的类型 问题 比如说 指定的时int 类型 而后台是string 类型的报错
//
// Create by 令狐冲 on 23/5/2023 16:21
// Copyright @Will.All rights reserved.
// ===============================================

import 'package:json_annotation/json_annotation.dart';

class DynamicToInt implements JsonConverter<int, dynamic> {
  const DynamicToInt();

  @override
  int fromJson(dynamic json) {
    if (json is num) {
      return json.toInt();
    }
    return json == null ? 0 : int.tryParse(json.toString()) ?? 0;
  }

  @override
  int toJson(dynamic object) {
    try {
      return num.parse(object.toString()).toInt();
    } catch (e) {
      return 0;
    }
  }
}
